package com.example.photography.dao;

import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.example.photography.bean.UpdateInfo;
import com.example.photography.db.UpdateDB;


import java.text.ParseException;
import java.text.SimpleDateFormat;

public class UpdateTableDao {
    private  final UpdateDB mHelper;
    public UpdateTableDao(Context context) {
        mHelper = new UpdateDB(context);
    }
    //添加版本数据到数据库中
    public void addAccount(UpdateInfo updateInfo){
        //获取数据库对象
        SQLiteDatabase db = mHelper.getReadableDatabase();

        // 执行添加操作
        ContentValues values = new ContentValues();
        values.put(UpdateTable.VEISION,updateInfo.getVersion());
        values.put(UpdateTable.APK_URL,updateInfo.getApk_url());
        values.put(UpdateTable.DESC_APK,updateInfo.getDesc_apk());
        @SuppressLint("SimpleDateFormat")//date转string
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = df.format(updateInfo.getTime());
        values.put(UpdateTable.TIME,time);

        db.replace(UpdateTable.TAB_NAME,null,values);
    }

    //查询最新版本信息
    public UpdateInfo getVersion_New(){
        //获取数据库对象
        SQLiteDatabase db = mHelper.getReadableDatabase();

        //执行查询语句
        //查询数据库最后一条数据
        String sql = "select * from " + UpdateTable.TAB_NAME+" order by version desc limit 0,1";
        Cursor cursor = db.rawQuery(sql,null);
        UpdateInfo updateInfo = null;
        if (cursor.moveToNext()){
            updateInfo = new UpdateInfo();
            //封装对象
            updateInfo.setVersion(cursor.getString(cursor.getColumnIndex(UpdateTable.VEISION)));
            updateInfo.setApk_url(cursor.getString(cursor.getColumnIndex(UpdateTable.APK_URL)));
            updateInfo.setDesc_apk(cursor.getString(cursor.getColumnIndex(UpdateTable.DESC_APK)));
            String time = cursor.getString(cursor.getColumnIndex(UpdateTable.TIME));
            @SuppressLint("SimpleDateFormat")
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            try {
                updateInfo.setTime(df.parse(time));
            } catch (ParseException e) {
                e.printStackTrace();
            }

        }
        //关闭资源
        cursor.close();
        //返回数据
        return updateInfo;
    }
}
